﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraBars.Commands;
using QuanLyKhachSan.Business;
using QuanLyKhachSan.DataAccess;

namespace QuanLyKhachSan
{
    public partial class NhanVien : UserControl
    {
        NhanVienBusiness nhanVien = new NhanVienBusiness();
        GioiTinhBusiness gioiTinh = new GioiTinhBusiness();
        private byte[] hinhanh = null;
        private bool flag = false;
        public NhanVien()
        {
            InitializeComponent();
        }
        private void NhanVien_Load(object sender, EventArgs e)
        {
            
            btn_Sua.Enabled = false;
            btn_Xoa.Enabled = false;
            RefreshGridView();
            cmbox_GioiTinh.DataSource = gioiTinh.LayTatCa();
            cmbox_GioiTinh.ValueMember = "SEX";
            cmbox_GioiTinh.SelectedValue = "SEX";}

        private void RefreshGridView()
        {
            gridControl1.DataSource = nhanVien.LayTatCa(); 
            
        }
        private bool KiemTraDuLieuNhap()
        {
            if (txt_maNv.Text == null)
            {
                lbl_MaNV.ForeColor = Color.Red;
                return false;
            }
            if (txt_HoTen.Text == null)
            {
                lbl_HoTen.ForeColor = Color.Red;
                return false;

            }
            if (txt_MatKhau.Text == null)
            {
                lbl_MatKhau.ForeColor = Color.Red;
                return false;
            }
             if (txt_XacNhanMK.Text == null)
            {
                lbl_XacNhan.ForeColor = Color.Red;
                return false;

            }
            if (txt_CMND.Text == null)
            {
                lbl_CMND.ForeColor = Color.Red;
                return false;
            }
            if (txt_MatKhau.Text != txt_XacNhanMK.Text)
            {
                MessageBox.Show("Xác nhận lại mật khẩu không trùng với mật khẩu đã nhập.", "Thông báo",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }

        private void btn_Them_Click(object sender, EventArgs e)
        {
            if (KiemTraDuLieuNhap())
            {
               nhanVien.ThemNhanVien(txt_maNv.Text,txt_HoTen.Text,cmbox_GioiTinh.SelectedValue.ToString(),txt_DiaChi.Text,dtime_NgaySinh.Value,txt_CMND.Text,txt_ChucVu.Text,txt_MatKhau.Text,txt_SoDienThoai.Text,dtime_NgayVL.Value,txt_Email.Text,hinhanh);
                MessageBox.Show("Thêm thông tin nhân viên thành công.", "Thông báo", MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
                lbl_MaNV.ForeColor = Color.Black;
                lbl_CMND.ForeColor = Color.Black;
                lbl_MatKhau.ForeColor = Color.Black;lbl_XacNhan.ForeColor = Color.Black;
                lbl_HoTen.ForeColor = Color.Black;
                RefreshGridView();}
            else
            {
                MessageBox.Show("Dữ liệu nhập không hợp lệ.", "Thông báo", MessageBoxButtons.OK,
                   MessageBoxIcon.Warning);
            }
        }

        private void btn_ChenAnh_Click(object sender, EventArgs e)
        {
            flag = true;
            ofdOpenFileDialog.ShowDialog();
            string filename = ofdOpenFileDialog.FileName; if (string.IsNullOrEmpty(filename) || filename == "openFileDialog1")
                return;
            List<string> list = new List<string> { ".jpg", ".jpeg", ".bmp", ".gif", ".ico", ".png" };
            for (int j = 0; j < list.Count; j++)
            {
                if (filename.Substring(filename.LastIndexOf(".")) == list[j])
                {
                    Image img = Image.FromFile(filename);
                    pictureEdit1.Image = img;
                    MemoryStream stream = new MemoryStream();
                    pictureEdit1.Image.Save(stream,ImageFormat.Jpeg);
                    hinhanh = stream.ToArray();return;
                }
            }
            if (pictureEdit1.Image == null)
            {
                MessageBox.Show("Thêm ảnh không thành công.", "Thông báo.");
                flag = false;//Không thêm ảnh
            }
        }
    }
}
